草庐IT

c++ - 将 std::vector 复制到 qvector

全部标签

c - lua5.2在windows中调用c dll

我的C代码如下:skype分析器.h#include"lua.h"#include"lualib.h"#include"lauxlib.h"#include"stdio.h"#include"stdlib.h"//dllexportfuncint_declspec(dllexport)luaopen_skypeAnalyzer(lua_State*L);skype分析器.c#include"skypeAnalyzer.h"#include#includeintrun(lua_State*L){printf("------->>>Hi!%s\n",lua_tostring(L,1));r

c - 如何处理跨平台 C 库中的 Unicode 路径?

我正在为C语言库做贡献。它有一个函数,该函数采用char*参数作为文件路径名。作者大多是UNIX开发人员,这在char*主要表示UTF-8的unix上运行良好。(至少inGCC,字符集可配置,默认为UTF-8。)但是,char*在Windows上表示ANSI,这意味着目前无法在Windows上使用此库的Unicode路径名,而应该使用wchar_t*并且仅支持UTF-16。(quicksearchonStackOverflow显示ANSIWindowsAPI函数不能与UTF-8一起使用。)问题是,处理这个问题的正确方法是什么?我们想出了各种方法来做到这一点,但我们都不是Windows专

c# - 复制到 Dropbox 文件夹时修改 LastWriteTime

我有一个小的C#脚本,我用它来将我的开发文件夹备份到我的Dropbox文件夹,比较每个文件的源和目标FileInfo.LastWriteTime然后执行File.Copy如果需要的话。我注意到新创建的文件不仅在脚本的后续运行中被复制,而且还在之后的运行中被复制,尽管在此期间没有被修改。LastModifiedDate似乎在第一次复制每个文件时被四舍五入到最接近的秒数,使其在下一次看起来比原始文件更旧。在下一次运行时,文件会再次复制,但现在LastModifiedDate不会向下舍入,即使文件实际上已被修改,所以从那时起一切都按预期进行。任何人都可以阐明这里发生了什么吗?更新:似乎只影响

android - ADB复制最新的文件

我正在使用以下命令将最近添加的文件从连接的设备复制到我想要的目录中:adbpullsdcard/Robotium-Screenshots/filename.jpgD:\jenkins\jobs\但它只能复制我指定的文件。如何将最新的文件从sdcard/Robotium-Screenshots/复制到D:\jenkins\jobs\而无需指定名称? 最佳答案 这是一个单行代码,可以从指定文件夹中提取最后修改的文件:adbexec-out"cd/sdcard/Robotium-Screenshots;toyboxls-1t*.jpg2>

c - 如何检测进程是否作为服务安装

我已经创建了一个win32应用程序,它应该作为服务和应用程序运行。当我单击并运行它时,它应该作为应用程序运行。当从服务Controller调用时,它应该检测到它并分支以作为服务运行。我如何在不传递参数的情况下检测到这一点?阿布扎德先生 最佳答案 传统(也是最简单)的方法是调用StartServiceCtrlDispatcher()并且,如果失败,则假设您没有作为服务运行。这在实践中效果很好,尽管从技术上讲我不相信Microsoft保证它会这样做。如果您想要更稳健的方法,您可以examineyoursecuritytoken查看它是否

c - 未检测到 Windows CreateProcess 退出

我正在尝试使用单独的进程来完成一些工作。在Windows版本中,我使用CreateProcess启动它并正常重定向标准输入/标准输出(继承的匿名管道)。管道工作;但是,当子进程退出时,父进程会挂起读取调用。父进程如何知道子进程已经退出?我认为ReadFile应该在子进程退出时立即返回一个损坏的管道错误。用于创建具有重定向输入和输出的子进程的Windows示例代码具有相同的问题,因此我将其作为MCVE发布。也可在https://msdn.microsoft.com/library/windows/desktop/ms682499获得#include#include#include#inc

c - 在 Windows 上使用 gettimeofday() 等价物

我正在尝试使用VisualStudio2013在Windows上为UNIX的gettimeofday()函数使用2个不同的等价物。我从here中拿了第一个.作为第二个,我正在使用_ftime64_s函数,如here所解释的那样.它们有效,但不如我预期。我想在打印秒数或至少毫秒数时获得不同的值,但我使用gettimeofday()(mytime1和mytime2)和_ftime64_s(mytime3和mytime4)获得相同的打印值。不过值得一提的是,这两个函数的毫秒值确实不同(即mytime1/mytime2和mytime3/mytime4的毫秒值不同)。这是我的代码:#includ

windows - 删除 .eml 文件中的行并将新的 "files"(目标 A)复制到多个文件(目标 B)中

您好,我想创建一个批处理文件,用于在.eml文件(目标A)中查找某些关键字,然后删除它们所在的行。之后,我需要批处理文件将"new"文件放入(目标B)中的单独.eml文件中。文件也可以是.txt。例如第2行需要删除,我可以使用findstr来完成,但是我的问题是,在我删除这些行后,我只能将“新文件”放在一个.txt文件中,我需要将“新文件”放在多个文件中.txt文件在同一目的地。`e.gDESTINATIONA"NEWFILE"DESTINATIONBline1:goodline1:goodFile1.txtline2:error>line2:good>File2.txtline3:g

c - 限制进程对管道的访问 (Windows)

是否可以通过进程限制对命名管道的访问(图像名称或进程ID都可以)?此处的上下文是一个FilterMinidriver,它必须与执行大部分业务逻辑的用户空间服务进行通信。由于此通信是安全敏感的,我想保护它免受外部干扰,而默认情况下,驱动程序创建的命名管道似乎可以通过任何用户空间进程进行通信知道管道的名称(通过静态或动态分析很容易发现)。这是我已经知道的:管道是Windows中的安全对象,因此,它们具有安全描述符。这个安全描述符可以包含一个DACL,它应该限制对该对象的访问。我广泛搜索了条件ACE的文档和示例,我希望它们可以做我想做的事,但我没有找到任何相关内容。编辑:我接受了MSalte

无法以附加或写入模式打开文件

我在使用用ANSIC编写的程序时遇到问题。当试图在读取模式下打开一个名为0.dat的文件(称为fp的文件指针)时,我可以毫无问题地访问它。然后我关闭fp。当尝试在w或a+模式下使用fopen再次打开fp时,它使用perror给我“权限被拒绝”。我不明白为什么,我尝试先在a+中打开,但它仍然给我这个权限错误。我在Windows10上运行VisualStudio2015。尝试重置VisualStudio,但仍然无效。这是一个最小的例子:#includeintmain(void){FILE*fp=NULL;if((fp=fopen("1.txt","w"))==NULL){perror("e